/**
 * 环境配置管理
 */

// 环境类型
export const ENV_TYPE = {
  DEVELOPMENT: 'development',
  PRODUCTION: 'production',
  TEST: 'test'
}

// 当前环境 - 可以通过编译时变量或其他方式动态设置
export const CURRENT_ENV = process.env.NODE_ENV || ENV_TYPE.DEVELOPMENT

// 环境配置
const envConfig = {
  [ENV_TYPE.DEVELOPMENT]: {
    baseURL: 'http://localhost:8079',
    timeout: 10000,
    enableLog: true,
    enableMock: true
  },
  [ENV_TYPE.TEST]: {
    baseURL: 'http://test-api.example.com',
    timeout: 15000,
    enableLog: true,
    enableMock: false
  },
  [ENV_TYPE.PRODUCTION]: {
    baseURL: 'https://api.example.com',
    timeout: 15000,
    enableLog: false,
    enableMock: false
  }
}

/**
 * 获取当前环境配置
 */
export const getEnvConfig = () => {
  return envConfig[CURRENT_ENV] || envConfig[ENV_TYPE.DEVELOPMENT]
}

/**
 * 判断是否为开发环境
 */
export const isDevelopment = () => {
  return CURRENT_ENV === ENV_TYPE.DEVELOPMENT
}

/**
 * 判断是否为生产环境
 */
export const isProduction = () => {
  return CURRENT_ENV === ENV_TYPE.PRODUCTION
}

/**
 * 判断是否为测试环境
 */
export const isTest = () => {
  return CURRENT_ENV === ENV_TYPE.TEST
}
